Multi-function stylus with sensor controller

ABSTRACT

A system and method for transmitting an input value to a computing device are included herein. The method includes detecting sensor data in a stylus. The method also includes detecting a gesture event with the stylus. In addition, the method includes generating an input value based on the sensor data and the gesture event. Furthermore, the method includes sending the input value from the stylus to a computing device.

RELATED APPLICATIONS

This patent arises from a continuation of U.S. patent application Ser.No. 16/865,669, filed on May 4, 2020, and entitled “MULTI-FUNCTIONSTYLUS WITH SENSOR CONTROLLER.”. U.S. patent application Ser. No.16/865,669 is a continuation of U.S. patent application Ser. No.13/687,167 (now U.S. Pat. No. 10,642,376), filed on Nov. 28, 2012, andentitled “MULTI-FUNCTION STYLUS WITH SENSOR CONTROLLER.” U.S. patentapplication Ser. No. 16/865,669 and U.S. patent application Ser. No.13/687,167 are hereby incorporated by reference in their entireties.Priority to U.S. patent application Ser. No. 16/865,669 and U.S. patentapplication Ser. No. 13/687,167 is hereby claimed.

TECHNICAL FIELD

This disclosure relates generally to a stylus for a computing system andmore specifically, but not exclusively, to a stylus with a sensorcontroller.

BACKGROUND

Modern computing devices continue to incorporate a growing number ofcomponents. For example, modern computing devices may include styli thatcan be used to provide input to a computing device. In some embodiments,a stylus may include sensors that can provide additional information tothe computing device about the operating environment of the stylus. Insome examples, the sensors may include an accelerometer, a gyrometer, ora compass. An accelerometer may detect the change in velocity of acomputing device. In some embodiments, a gyrometer may detect theangular velocity of the computing device. A compass may detect thecardinal direction the computing device is traveling. As the number ofsensors included in a stylus increases, the amount of sensor data thatcan be transmitted to a computing device also increases.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of an example of a computing system connectedto a stylus that generates an input value based on sensor data and agesture event;

FIG. 2 is a block diagram of an example of a stylus that generates aninput value based on sensor data and a gesture event;

FIG. 3 is a process flow diagram for an example method of generating aninput value based on sensor data and a gesture event;

FIG. 4 is a block diagram of an example of a sensor controller that cangenerate an input value based on sensor data and a gesture event; and

FIG. 5 is a tangible, non-transitory computer-readable medium that canenable a stylus to send an input value based on sensor data and agesture event to a computing device.

DETAILED DESCRIPTION

According to embodiments of the subject matter disclosed herein, astylus comprising a sensor controller can detect sensor data fromsensors and transmit an input value based on sensor data and a gestureevent to a computing device. A stylus, as referred to herein, includesany suitable electronic device that can detect an input value andtransmit the input value to a computing device. In some embodiments, thestylus can transmit data to a computing device by placing the stylus incontact with a display device for a computing system. In someembodiments, the stylus can transmit data to a computing device througha data exchange protocol, such as Bluetooth, USB, WIFI, or Zigbee, amongothers. For example, the stylus may detect an input value and transmitthe input value to a computing system through a data exchange protocolwhile the stylus is not proximate to the display device of the computingsystem. In some embodiments, the stylus can transmit data to a computingdevice through a cable.

In some embodiments, the stylus may calculate an input value based onsensor data and a gesture event. The sensor data may be detected fromany suitable number of sensors such as a compass (also referred toherein as a magnetometer), an accelerometer, or a gyrometer (alsoreferred to herein as a gyroscope) inertial sensors, a microphone, apiezo element, touch sensors, among others. In some embodiments, thegesture event can include a movement of the stylus that corresponds withan input operation. For example, certain movements of the stylus maycorrespond with certain keyboard input values or mouse input values,among others. In some embodiments, a keyboard input value can include analphanumeric character, among others and a mouse input value canrepresent a cursor in two dimensional space or a selection of a portionof a graphical user interface, among others.

In the following description and claims, the terms “coupled” and“connected,” along with their derivatives, may be used. It should beunderstood that these terms are not intended as synonyms for each other.Rather, in particular embodiments, “connected” may be used to indicatethat two or more elements are in direct physical or electrical contactwith each other. “Coupled” may mean that two or more elements are indirect physical or electrical contact. However, “coupled” may also meanthat two or more elements are not in direct contact with each other, butyet still co-operate or interact with each other.

FIG. 1 is a block diagram of an example of a computing system connectedto a stylus that generates an input value based on sensor data and agesture event. The computing system 100 may be, for example, a mobilephone, laptop computer, computer, desktop computer, or tablet computer,among others. The computing system 100 may include a processor 102 thatis adapted to execute stored instructions, as well as a memory device104 that stores instructions that are executable by the processor 102.The processor 102 can be a single core processor, a multi-coreprocessor, a computing cluster, or any number of other configurations.The processor 102 may be implemented as Complex Instruction Set Computer(CISC) or Reduced Instruction Set Computer (RISC) processors, x86Instruction set compatible processors, multi-core, or any othermicroprocessor or central processing unit (CPU). In some embodiments,the processor 102 includes dual-core processor(s), dual-core mobileprocessor(s), or the like.

The memory device 104 can include random access memory (e.g., SRAM,DRAM, zero capacitor RAM, SONOS, eDRAM, EDO RAM, DDR RAM, RRAM, PRAM,etc.), read only memory (e.g., Mask ROM, PROM, EPROM, EEPROM, etc.),flash memory, or any other suitable memory systems. The memory device104 can be used to store computer-readable instructions that, whenexecuted by the processor, direct the processor to perform variousoperations in accordance with embodiments described herein. For example,the instructions that are executed by the processor 102 may be used toimplement a method that detects sensor data and a gesture event andtransmits an input value based on the sensor data and the gesture eventto a computing system 100.

The processor 102 may also be linked through the system interconnect 106to a display interface 108 adapted to connect the computing system 100to a display device 110. The display device 110 may include a displayscreen that is a built-in component of the computing system 100. Thedisplay device 110 may also include a computer monitor, television, orprojector, among others, that is externally connected to the computingsystem 100. The processor 102 may also be linked through the systeminterconnect 106 to a network interface card (NIC) 112. The NIC 112 maybe adapted to connect the computing system 100 through the systeminterconnect 106 to a network (not depicted). The network may be a widearea network (WAN), local area network (LAN), or the Internet, amongothers.

The processor 102 may be connected through a system interconnect 106(e.g., PCI, ISA, PCI-Express®, HyperTransport®, NuInterconnect, etc.) toan input/output (I/O) device interface 114 adapted to connect thecomputing system 100 to one or more I/O devices 116. The I/O devices 116may include, for example, a keyboard and a pointing device, wherein thepointing device may include a touchpad or a touchscreen, among others.The I/O devices 116 may be built-in components of the computing system100, or may be devices that are externally connected to the computingsystem 100. The I/O device interface 114 may also be adapted to connectthe computing system 100 to a stylus 118. The stylus 118 may be anysuitable electronic device that can detect an input value and transmitthe input value to a computing device. For example, a stylus 118 may bean electronic pen that can provide input to a computing system 100 whenthe stylus 118 contacts a display device 110. In some examples, thestylus 118 can transmit data to a computing system 100 wirelesslythrough a Bluetooth receiver 120. A Bluetooth receiver 120 can enablewireless data transmission between a stylus 120 and the computing system100 using a radio technology, such as a frequency-hopping spreadspectrum, among others. In some embodiments, the stylus 118 may includesensors that detect sensor data regarding the operating environment ofthe stylus 118. For example, the sensors may detect the tilt of thestylus 118, the acceleration of the stylus 118, or the cardinaldirection the stylus 118 is pointed, among others. In some examples, thestylus 118 may also detect a gesture event that corresponds with themotion of the stylus 118. For example, certain patterns detected by thestylus 118 may correspond with various input operations, such asoperations that transmit alphanumeric characters, sign languageoperations or directional indication through pointing, among others. Insome embodiments, the stylus 118 may use the sensor data together with agesture event to generate an input value to send to the computing device100. For example, the stylus 118 may adjust the gesture event to accountfor the tilt, acceleration, or other operational states of the stylus118.

The computing device 100 may also include a storage device 122. Thestorage device 122 may include a physical memory such as a hard drive,an optical drive, a flash drive, an array of drives, or any combinationsthereof. The storage device 122 may also include remote storage drives.The storage device 122 may also include an operating system 124. In someembodiments, the storage device 122 may store instructions that enablethe operating system 124 to receive input from a stylus 118. Forexample, the storage device 122 may store one or more drivers thatenable the operating system 124 to communicate with a stylus 118 througha Bluetooth receiver 120 or an I/O device interface 114. In someembodiments, the drivers may be stored in the memory device 104. Thememory device 104 may include instructions used by a computing system100 to communicate with a stylus 118 in a similar manner as described inreference to the operating system 124 above.

It is to be understood that the block diagram of FIG. 1 is not intendedto indicate that the computing system 100 is to include all of thecomponents shown in FIG. 1. Rather, the computing system 100 can includefewer or additional components not illustrated in FIG. 1 (e.g., asensor, a sensor controller, additional wireless hardware components,etc.). Furthermore, any of the functionalities of the stylus 118 may bepartially, or entirely, implemented in hardware and/or the I/O devices116. For example, the functionality may be implemented with anapplication specific integrated circuit, in logic implemented in aprocessor in the stylus 118, in a sensor controller in the stylus 118,in a co-processor, or in any other device.

FIG. 2 is a block diagram of an example of a stylus that generates aninput value based on sensor data and a gesture event. As discussedabove, a stylus can include any suitable electronic device that candetect user input and transmit data based on the user input to acomputing device. In some embodiments, the stylus 118 can transmit datato a computing device, such as the computing system 100 of FIG. 1.

The stylus 118 can include an active or passive detection circuit 202.The active or passive detection circuit 202 can detect if the stylus 118is to communicate with a computing device through the spring tip 204 orthrough a wireless radio 206, or through a cable. For example, a springtip 204 can engage the surface of a display device. In some examples,the spring tip 204 may allow the stylus 118 to transmit data to adisplay device using an inductive detection technique, among others. Insome embodiments, the stylus 118 may also include an ink cartridge inthe spring tip 204 that can allow the stylus 118 to function as a pen.In some embodiments, the wireless radio 206 can transmit data from thestylus 118 to a computing device when the spring tip 204 of the stylus118 is not in contact with a display device of a computing device. Forexample, the wireless radio 206 may enable the transmission of data fromthe stylus 118 to a computing device through a wireless protocol, suchas Bluetooth, WIFI, or Zigbee, among others. In some examples, thestylus 118 may also include an antenna 208 that can broadcast the datafor the wireless radio 206, which enables data transmission between astylus 118 and a computing device.

In some embodiments, the stylus 118 may also include a battery 210 thatprovides power to the active or passive detection circuit 202, wirelessradio 206, antenna 208, and a sensor controller 212, among others. Insome examples, the battery 210 may receive a charge through a powerconnector 214. In some embodiments, the power connector 214 may receivepower to charge the battery 210 from an adaptor that stores the stylus118 while providing power to the power connector 214. In some examples,the adaptor may be included in a computing system, or may be externallyconnected to a computing system through a cable. In some embodiments,the current charge of the battery 210 may be transmitted to a computingdevice through the spring tip 204 or the wireless radio 206.

In some embodiments, the stylus 118 can detect sensor data from a sensorcontroller 212. The sensor controller 212 may detect sensor data fromany suitable number of sensors, such as an accelerometer 216, agyrometer 218, and a compass 220. An accelerometer 216 may detect thechange in velocity of a computing device. For example, an accelerometer216 may detect if the stylus 118 is in motion. In some embodiments, agyrometer 218 may detect the angular velocity of the computing device.For example, a gyrometer 218 may detect the angular velocity of a stylus118 while the stylus 118 is in motion. A compass 220 may detect thecardinal direction a stylus 118 is either traveling or the cardinaldirection a stylus 118 is pointed. In some examples, the compass 220 mayaggregate sensor data from multiple sensors to determine the cardinaldirection a stylus 118 is pointed. For example, the compass 220 maydetect the cardinal direction a stylus 118 is pointed at a particularmoment in time based on sensor data from the gyrometer 218 and thecompass 220. In some embodiments, the sensor data can include a changein position of a computing device, which is calculated by performing amathematical “integration” of acceleration and/or rate from theaccelerometer or gyroscope, or other such inertial device.

In some embodiments, the sensor controller 212 can generate an inputvalue based on a gesture event and sensor data. For example, the sensorcontroller 212 can detect a gesture event based on the movement of thestylus 118. In some embodiments, the sensor controller can use thegesture event in combination with sensor data to generate a simulatedmouse input or keyboard input. For example, a clutch button 226 mayindicate to the sensor controller 212 to enter a mouse emulation mode,wherein sensor data and a gesture event are combined to generate a mouseinput value. In some examples, sensor data may indicate the tilt oracceleration of the stylus 118, which can be incorporated with thegesture event and input from a right click button 222 or a left clickbutton 224 to generate a mouse input value to transmit to a computingsystem. In some embodiments, a scroll wheel 228 may also enable the userto provide additional input that is combined into the mouse input value.

In some embodiments, the sensor controller 212 can generate keyboardinput values based on the gesture event and the sensor data. Forexample, certain motions captured as a gesture event may correspond withalphanumeric input. In some embodiments, the sensor controller 212 candetect sign language motions and translate the sign language motionsinto keyboard input values based on the sensor data. For example, thesensor controller 212 may detect the tilt of the stylus 118 andtransform the gesture event in order to send the correct keyboard inputvalue to the computing system. In some embodiments, the sensorcontroller 212 can send the keyboard input to a computing device as HIDkeyboard compliant data.

In some embodiments, a pairing button 230 enables the stylus 118 toactivate a discovery and recognition process with a computing device.For example, a stylus 118 may not be able to transmit data to acomputing device without a pairing process that establishes acommunication channel between the stylus 118 and the computing device.In some examples, the stylus 118 can transmit data to a computing deviceafter the pairing process is complete.

In some embodiments, the stylus 118 may also include indicators 232 thatcan provide status information. For example, the indicators 232 canprovide status information related to the pairing progress between thestylus 118 and a computing device, battery status of the stylus, andwireless communication status, among others. In some examples, theindicators 232 may provide visual indicators of status informationthrough a light-emitting diode (LED) or an organic light-emitting diode(OLED).

It is to be understood that the block diagram of FIG. 2 is not intendedto indicate that the stylus 118 is to include all of the componentsshown in FIG. 2. Rather, the stylus 118 can include fewer or additionalcomponents not illustrated in FIG. 2 (e.g., a microphone, a laserpointer, a processor, additional wireless hardware components, etc.).

FIG. 3 is a process flow diagram for an example method of generating aninput value based on sensor data and a gesture event. The method 300 canbe implemented with a computing system, such as the computing system 100of FIG. 1.

At block 302, a stylus 118 detects sensor data. As discussed above, thestylus 118 can include any suitable number of sensors. In someembodiments, the sensors can include an accelerometer, a gyrometer, anda compass, among others. The accelerometer may detect the change invelocity of the stylus 118 and the gyrometer may detect the angularvelocity of the stylus 118. In some embodiments, a compass may detectthe cardinal direction the stylus 118 is either pointed or traveling.

At block 304, a stylus 118 may detect a gesture event. In someembodiments, the gesture event may include movement patterns of thestylus 118 that can enable a directional indication of an object throughpointing, operate as an input device, or sign language recognition,among others. For example, the gesture event from the stylus 118 canindicate that the stylus 118 is selecting a particular region of adisplay device. In other examples, the gesture event from the stylus 118may indicate the detection of a pattern that matches an input value. Forexample, moving the stylus 118 in the shape of an alphanumeric characterin free space may indicate that the stylus 118 is to transmit a keyboardinput value for a particular alphanumeric character.

At block 306, the stylus 118 may generate an input value based on thesensor data and the gesture event. In some embodiments, the input valuemay represent a keyboard stroke, a mouse input value, or a combinationof a keyboard stroke and a mouse input value. For example, the gestureevent may be detected at a certain angle of tilt. In some examples, thestylus 118 can adjust the gesture event using the detected angle of tiltto ensure the correct keyboard input values or mouse input values aretransmitted to a computing device.

At block 308, the stylus 118 sends the input value to a computingdevice. As discussed above in reference to FIG. 2, the stylus 118 maytransmit data to a computing device through a spring tip if the stylus118 is in contact with a display device. In other examples, a stylus 118may transmit an input value to a computing device through a wirelessradio if the stylus 118 is not in contact with a display device. Theprocess flow ends at block 310.

The process flow diagram of FIG. 3 is not intended to indicate that thesteps of the method 300 are to be executed in any particular order, orthat all of the steps of the method 300 are to be included in everycase. Further, any number of additional steps may be included within themethod 300, depending on the specific application. For example, themethod 300 may also include detecting pairing information related to theability of the stylus 118 to transmit data to a computing device. Insome examples, the method 300 may also include providing informationrelated to the operation of the stylus through indicators. Furthermore,a stylus 118 may be used with any suitable number of additional styli118 to transmit data to a display device, such as a whiteboard, amongothers.

FIG. 4 is a block diagram of an example of a stylus 118 that cangenerate an input value based on sensor data and a gesture event. Thestylus 118 can include a sensor controller 402, which can receive sensordata from any suitable number of sensors, such as an accelerometer 404,a gyrometer 406 (also referred to herein as gyro), and a compass 408.The sensors 404, 406, and 408 can send sensor data to micro-drivers,such as 410, 412, and 414. In some embodiments, the accelerometermicro-driver 410 can receive data from a particular accelerometer sensor404. Furthermore, the gyrometer micro-driver 412 can receive data from aparticular gyrometer 406 and a compass micro-driver 414 can receive datafrom a particular compass 408.

In some embodiments, the accelerometer micro-driver 410, the gyrometermicro-driver 412, and the compass micro-driver 414 can send sensor datato a sensor manager 416. The sensor manager 416 can process the sensordata by transforming the sensor data using a variety of algorithms. Forexample, the sensor manager 416 may derive a fused inclination angleabout the X, Y, and Z axis using sensor data from any suitable number ofsensors 404, 406, and 408. In some embodiments, the sensor manager 416may detect a gesture event based on the sensor data. For example, thesensor manager 416 may aggregate sensor data to detect patterns orcomplex movements of the stylus 118.

In some embodiments, the sensor manager 416 can send the transformedsensor data and a gesture event to a mouse emulator 418, a HID sensorcollection TLC 420 or a keyboard emulator 422. The keyboard emulator 422can translate the data from the sensor manager 416 into a keyboardstroke. For example, the sensor manager 416 may incorporate a gestureevent along with sensor data, such as tilt and movement of the stylus118, into a keyboard stroke. In some embodiments, the gesture event maytranslate into any suitable number of keyboard strokes. In someexamples, the keyboard emulator 422 may perform calculations on thesensor data received from the sensor manager 416. For example, thekeyboard emulator may correct for parallax, or the difference in theapparent position of the stylus 118. In some embodiments, the keyboardemulator 422 may determine keyboard strokes based on the tilt of thestylus 118 while the keyboard stroke gesture is detected.

The keyboard stroke may be sent from the keyboard emulator 422 to ahuman interface device keyboard top level collection (also referred toherein as HID keyboard TLC) 424. The HID keyboard TLC 424 can translatethe keyboard stroke from the keyboard emulator 422 into HID compliantdata and send the HID compliant data to the host manager module 426. Thehost manager module 426 can aggregate HID compliant data from anysuitable number of HID drivers and send the aggregated data as an inputvalue to a Bluetooth host interface micro-driver (also referred toherein as a Bluetooth micro-driver) 428. The Bluetooth micro-driver 428can exchange protocol messages with a Bluetooth radio 430 over ahardware interface including a universal asynchronousreceiver/transmitter, among others. The Bluetooth micro-driver 428 caninclude various formats in the protocol message, such as printablecharacters as defined by a HID-AT command/response specification, amongothers. The Bluetooth radio 430 can send the protocol message wirelesslythrough an antenna 432 according to various HID and Bluetoothspecifications, such as the specification of the Bluetooth system 4.0,or the Human Interface Device (HID) Profile version 1.0, among others.

In some embodiments, the sensor manager 416 can also send sensor dataand a gesture event to a mouse emulator 418. The mouse emulator 418 cancombine the sensor data with additional data received from the GPIO HALmicro-driver 434. For example, the GPIO HAL micro-driver 434 may senddata to indicators 436 and receive data from buttons 438, and apiezoelectric sensor 440. The indicators 436 can indicate that thesensor controller 402 is in a particular state. For example, theindicators 436 may indicate that the sensor controller 402 is in astylus 118 that is charging, in a stylus 118 that is low in power, or ina stylus 118 that is not paired with a computing device, among others.In some embodiments, the buttons 438 can include a pairing button, aclutch button, a right click button, and a left click button. Asdiscussed above in regard to FIG. 2, the clutch button can indicate tothe sensor controller 402 to begin detecting input from the stylus 118as a mouse, along with a right click button and left click button, whichsimulate clicking the right and left mouse buttons. In some examples,the data from the right click and left click buttons can be sent to themouse emulator 418 through the GPIO HAL micro-driver 434. Thepiezoelectric sensor 440 can generate a voltage in response todeflection. In some embodiments, the piezoelectric sensor 440 mayinitiate a haptic indicator in response to a change in pressure oracceleration in a device. For example, the piezoelectric sensor 440 mayvibrate the device in response to certain events. In some examples, if adevice is operating as a mouse and the cursor points to a region that isnot on the display screen, the piezoelectric sensor 440 may initiate amechanical response, such as a vibration or a shock, or an audio sound.In some embodiments, data from the piezoelectric sensor 440 may be sentto the Bluetooth Host Interface micro-driver 428 through the GPIO HALmicro-driver 434. In some embodiments, the piezoelectric sensor 440 canbe used to provide power to additional sensors in the stylus. Forexample, the stylus 118 may enter a sleep state after a period ofinactivity, in which various sensors 404, 406, 408 and components withinthe stylus 118 may be powered down. In some examples, the piezoelectricsensor 440 may generate a voltage in response to an event. The voltagegenerated by the piezoelectric sensor 400 can be used as an indicationto provide power to additional sensors 404, 406, 408 and componentswithin the stylus 118.

In some embodiments, the mouse emulator 418 can perform calculationsbased on the sensor data and the data from the buttons 438. For example,the mouse emulator 418 may also account for parallax and modify thegesture event based on the sensor data. In some examples, the gestureevent that indicates a cursor is to be displayed on a display device maybe altered based on sensor data, such as the tilt or change in velocityof a device. In some embodiments, the mouse emulator 418 may alsogenerate a virtual brush stroke that appears as a brush stroke on adisplay device. In some examples, the mouse emulator 418 may change thevirtual brush stroke based on sensor data. For example, a greater degreeof tilt of a stylus 118 may result in the mouse emulator 418 creating abroader or finer virtual brush stroke. In some embodiments, the mouseemulator 418 can send data to the HID Mouse TLC 442, which can generateHID compliant mouse data and send the HID compliant mouse data to theHost Manager Module 426. The Host Manager Module 426 can send the HIDcompliant mouse data to a computing device through the Bluetooth radio430 and Bluetooth Host Interface Micro-driver 428.

In some embodiments, a stylus 118 may detect a gesture event thatindicates complex input values, such as combined mouse input values andkeyboard input values. In some examples, the sensor data and a gestureevent from the stylus 118 can be sent to both the keyboard emulator 4422and the mouse emulator 418, which can generate mouse input values andkeyboard input values based on the sensor data and the gesture event.

In some embodiments, a device may include a battery 444 that providespower for the device. The battery 444 may communicate the currentelectrical state to an analog to digital micro-driver (also referred toas A/D micro-driver) 446 in the sensor controller 402. The A/Dmicro-driver 446 can detect data from the battery 444 and provide thedata in a particular format for the battery manager 448. In someembodiments, the battery manager 448 can calculate the current charge ofthe battery 444, the charging rate of the battery 444, and the like. Insome examples, the battery manager 448 can send data regarding thebattery 444 to a HID battery TLC 450, which can apply a HID compliantformat to the data regarding the battery 444. The HID compliant data forthe battery 444 can then be sent to the Bluetooth radio 430 through theBluetooth Host Interface Micro-driver 428 and the Host Manager Module426. The Bluetooth radio 430 can broadcast the data regarding thebattery 444 through an antenna 432.

It is to be understood that the block diagram of FIG. 4 is not intendedto indicate that the computing system sensor controller 402 is toinclude all of the components shown in FIG. 4. Rather, the sensorcontroller 402 can include fewer or additional components notillustrated in FIG. 4 (e.g., additional micro-drivers, additional HIDdrivers, a USB host interface micro-driver, etc.). For example, a USBHost Interface may be included in sensor controller 402 to send an inputvalue base on sensor data and a gesture event to a computing systemusing a USB protocol.

FIG. 5 is a tangible, non-transitory computer-readable medium that canenable a stylus to send an input value based on sensor data and agesture event to a computing device. The tangible, non-transitory,computer-readable medium 500 may be accessed by a processor 502 over acomputer interconnect 504. Furthermore, the tangible, non-transitory,computer-readable medium 500 may include code to direct the processor502 to perform the steps of the current method.

The various software components discussed herein may be stored on thetangible, non-transitory, computer-readable medium 500, as indicated inFIG. 5. For example, a keyboard emulator 506 may be adapted to directthe processor 502 to detect a keyboard input value based on sensor dataand a gesture event and send the keyboard input value to a computingsystem. In some embodiments, a mouse emulator 508 can generate a mouseinput value based on sensor data and a gesture event and send the mouseinput value to a computing device. It is to be understood that anynumber of additional software components not shown in FIG. 5 may beincluded within the tangible, non-transitory, computer-readable medium500, depending on the specific application.

Example 1

A method for generating an input value is described herein. The methodcan include detecting sensor data in a stylus and detecting a gestureevent with the stylus. The method can also include generating an inputvalue based on the gesture event and the sensor data. Furthermore, themethod can include sending the input value from the stylus to acomputing device.

In some embodiments, the method can generate an input value thatcomprises a keyboard input value, a mouse input value, or a virtualbrush stroke. In some examples, the keyboard input value can include anyalphanumeric character that a keyboard can generate. In someembodiments, the method can also detecting gesture events, whereindetecting the gesture events includes detecting a movement of the stylusthat corresponds with an input operation. In some examples, the inputoperation can include operations that transmit alphanumeric characters,sign language operations or directional indication through pointing,among others.

Example 2

A stylus for generating an input value is described herein. The stylusincludes a sensor controller that executes computer-readableinstructions, and a storage device to store the computer-readableinstructions. The computer-readable instructions can direct a sensorcontroller to detect sensor data in the sensor controller. Thecomputer-readable instructions can also direct a sensor controller todetect a gesture event with the stylus and generate an input value basedon the gesture event and the sensor data. Furthermore, thecomputer-readable instructions can direct a sensor controller to sendthe input value from the stylus to a computing device.

In some embodiments, the stylus can include any suitable number ofsensors, such as an accelerometer, a gyrometer, and a compass, amongothers. In some embodiments, the sensor data detected by the sensors caninclude a tilt of the stylus, a cardinal direction of the stylus, or aspeed of the stylus. In some examples, the input value generated by thestylus can be based on a tilt of the stylus to correct for parallax.

Example 3

At least one non-transitory machine readable medium comprising aplurality of instructions stored thereon is descried herein. In responseto being executed on a stylus, the instructions can cause the stylus todetect sensor data in the stylus and detect a gesture event with thestylus. The instructions can also cause the stylus to generate an inputvalue based on the sensor data and the gesture event. Furthermore, theinstructions can cause the stylus to send the input value from thestylus to a computing device.

In some embodiments, the instructions can cause the stylus to send theinput value from the stylus to the computing device by touching thestylus to a display device. Alternatively, the instructions can causethe stylus to send the input value from the stylus to the computingdevice by transmitting the input value to the computing device through adata exchange protocol. In some embodiments, the instructions can causethe stylus to detect a current charge level of a battery of the stylusand transmit the current charge level of the battery to the computingdevice.

Some embodiments may be implemented in one or a combination of hardware,firmware, and software. Some embodiments may also be implemented asinstructions stored on the tangible non-transitory machine-readablemedium, which may be read and executed by a computing platform toperform the operations described. In addition, a machine-readable mediummay include any mechanism for storing or transmitting information in aform readable by a machine, e.g., a computer. For example, amachine-readable medium may include read only memory (ROM); randomaccess memory (RAM); magnetic disk storage media; optical storage media;flash memory devices; or electrical, optical, acoustical or other formof propagated signals, e.g., carrier waves, infrared signals, digitalsignals, or the interfaces that transmit and/or receive signals, amongothers.

An embodiment is an implementation or example. Reference in thespecification to “an embodiment,” “one embodiment,” “some embodiments,”“various embodiments,” or “other embodiments” means that a particularfeature, structure, or characteristic described in connection with theembodiments is included in at least some embodiments, but notnecessarily all embodiments, of the present techniques. The variousappearances of “an embodiment,” “one embodiment,” or “some embodiments”are not necessarily all referring to the same embodiments.

Not all components, features, structures, characteristics, etc.described and illustrated herein need be included in a particularembodiment or embodiments. If the specification states a component,feature, structure, or characteristic “may”, “might”, “can” or “could”be included, for example, that particular component, feature, structure,or characteristic is not required to be included. If the specificationor claim refers to “a” or “an” element, that does not mean there is onlyone of the element. If the specification or claims refer to “anadditional” element, that does not preclude there being more than one ofthe additional element.

It is to be noted that, although some embodiments have been described inreference to particular implementations, other implementations arepossible according to some embodiments. Additionally, the arrangementand/or order of circuit elements or other features illustrated in thedrawings and/or described herein need not be arranged in the particularway illustrated and described. Many other arrangements are possibleaccording to some embodiments.

In each system shown in a figure, the elements in some cases may eachhave a same reference number or a different reference number to suggestthat the elements represented could be different and/or similar.However, an element may be flexible enough to have differentimplementations and work with some or all of the systems shown ordescribed herein. The various elements shown in the figures may be thesame or different. Which one is referred to as a first element and whichis called a second element is arbitrary.

It is to be understood that specifics in the aforementioned examples maybe used anywhere in one or more embodiments. For instance, all optionalfeatures of the computing device described above may also be implementedwith respect to either of the methods or the computer-readable mediumdescribed herein. Furthermore, although flow diagrams and/or statediagrams may have been used herein to describe embodiments, thetechniques are not limited to those diagrams or to correspondingdescriptions herein. For example, flow need not move through eachillustrated box or state or in exactly the same order as illustrated anddescribed herein.

The present techniques are not restricted to the particular detailslisted herein. Indeed, those skilled in the art having the benefit ofthis disclosure will appreciate that many other variations from theforegoing description and drawings may be made within the scope of thepresent techniques. Accordingly, it is the following claims includingany amendments thereto that define the scope of the present techniques.

What is claimed is:
 1. A mobile computing device comprising: a housingdimensioned to be carried by a user; a touch screen carried by thehousing; a sensor carried by the housing; wireless communicationcircuitry to communicate via a Wifi protocol; a Bluetooth radio tocommunicate with an electronic stylus via a Bluetooth protocol; at leastone memory; and processor circuitry to: cause the touch screen todisplay a virtual stylus stroke in response to one or more first signalsassociated with use of the electronic stylus, the one or more firstsignals associated with a tilt angle of a housing of the electronicstylus, a characteristic of the virtual stylus stroke corresponding tothe tilt angle; and cause the touch screen to display a keyboard inputvalue in response to one or more second signals associated with adirection of movement of the electronic stylus.
 2. The mobile computingdevice as defined in claim 1, wherein the one or more first signals areto be detected via the touch screen when a tip of the electronic stylusis in contact with the touch screen.
 3. The mobile computing device asdefined in claim 1, wherein the Bluetooth radio is to detect the one ormore first signals.
 4. The mobile computing device as defined in claim1, further including a power source, a portion of the housing of themobile computing device to provide access to a connection to charge abattery of the electronic stylus.
 5. The mobile computing device asdefined in claim 1, wherein the characteristic is a width of the virtualstylus stroke.
 6. The mobile computing device as defined in claim 1,wherein the Bluetooth radio is to receive power level information fromthe electronic stylus.
 7. The mobile computing device as defined inclaim 1, wherein the Bluetooth radio is to detect the one or more secondsignals associated with the direction of movement of the electronicstylus.
 8. The mobile computing device as defined in claim 1, whereinthe tilt angle is relative to the touch screen.
 9. The mobile computingdevice as defined in claim 1, further including a power source, aportion of the housing to provide access to a connection to charge abattery of the electronic stylus.
 10. A system comprising: an electronicstylus; and a mobile computing device, the mobile computing deviceincluding: a housing; a display screen carried by the housing; wirelesscommunication circuitry to communicate via at least one of a Wifiprotocol or a Bluetooth protocol; at least one storage device; andprocessor circuitry to: cause a virtual stylus stroke to be displayedvia the display screen in response to first movement of the electronicstylus, a characteristic of the virtual stylus stroke corresponding to atilt angle of a housing of the electronic stylus; and cause a keyboardinput value to be displayed in a text field associated with the displayscreen in response to second movement of the electronic stylus relativeto the display screen.
 11. The system as defined in claim 10, whereinthe electronic stylus includes at least one sensor to output one or moresignals associated with a direction of travel of the electronic stylus.12. The system as defined in claim 10, wherein the tilt angle isrelative to the display screen.
 13. The system as defined in claim 10,wherein the mobile computing device further includes a power source, aportion of the housing of the mobile computing device to provide accessto a connection to charge a battery of the electronic stylus.
 14. Thesystem as defined in claim 13, wherein the housing of the mobilecomputing device is to receive the electronic stylus to enable chargingof the electronic stylus.
 15. The system as defined in claim 10, whereinthe display screen is a touch screen, the touch screen to detect one ormore signals from the electronic stylus when a tip of the electronicstylus is in contact with the touch screen.
 16. The system as defined inclaim 10, wherein the wireless communication circuitry is to detect oneor more signals from the electronic stylus.
 17. The system as defined inclaim 10, wherein the characteristic includes width of the virtualstylus stroke.
 18. The system as defined in claim 10, wherein theelectronic stylus includes a wireless radio to communicate with thewireless communication circuitry of the mobile computing device.
 19. Thesystem as defined in claim 10, wherein the mobile computing device is toreceive power level information from the electronic stylus.
 20. A systemcomprising: a stylus, including: a stylus housing having a first end anda second end opposite the first end, the stylus housing having aspring-loaded tip at the first end; a battery carried by the stylushousing; an antenna; at least one sensor carried by the stylus housing,the at least one sensor to output one or more first signals associatedwith a tilt angle and movement of the stylus housing; and a firstwireless radio to communicate one or more second signals correspondingto the one or more first signals via a Bluetooth protocol; and anelectronic device including: a second wireless radio to obtain the oneor more second signals; a display screen; and processor circuitry tocause a virtual stylus stroke corresponding to at least one of the tiltangle or the movement of the stylus housing to be displayed as akeyboard input value in a text field via the display screen in responseto the one or more first signals from the at least one sensor.
 21. Thesystem of claim 20, wherein the at least one of the tilt angle or themovement of the stylus housing correspond to the stylus writing analphanumeric character.
 22. The system of claim 20, wherein the one ormore second signals are indicative of a language input corresponding tothe at least one of the tilt angle or the movement of the stylushousing.
 23. The stylus of claim 22, wherein the movement of the stylushousing corresponds to a gesture.
 24. The system of claim 20, whereinthe tilt angle is relative to the display screen.
 25. The system ofclaim 20, wherein the one or more first signals are associated withacceleration of the stylus housing.